package com.malou.server.ventas.ingresostock;

import java.util.List;

import javax.servlet.http.HttpSession;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.malou.client.seguridad.usuario.Usuario;
import com.malou.client.util.MensajeData;
import com.malou.client.ventas.ingresostock.IngresoStock;
import com.malou.client.ventas.ingresostock.IngresoStockService;
import com.malou.client.ventas.proveedor.Proveedor;
import com.malou.server.seguridad.usuario.Usuarios;

public class IngresoStockServiceImpl extends RemoteServiceServlet implements IngresoStockService {

	private static final long serialVersionUID = 1L;

	@Override
	public MensajeData save(IngresoStock ins) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		Usuario user = getUsuarioSession();
		ins.setTienda_id(user.getIdtienda());
		
		if(user.getIdprivilegio() == 1)
			IngresoStocks.isSuperUsuario = true;
		else
			IngresoStocks.isSuperUsuario = false;
		
		
		if(!IngresoStocks.save(ins)){
			data.guardado = false;
		}		
		return data;
	}
	
	@Override
	public MensajeData incrementaStockTienda(IngresoStock ins){
		MensajeData data = new MensajeData();
		data.guardado = true;
		Usuario user = getUsuarioSession();
		ins.setTienda_id(user.getIdtienda());
		try{
			IngresoStocks.incrementaStockTienda(ins);
	
		}catch(Exception e){
			e.printStackTrace();
		}
		
        return data;
	}
	

	@Override
	public List<Proveedor> getProveedor() {
		return IngresoStocks.getProveedor();	
	}
	
	private Usuario getUsuarioSession() {
		HttpSession session = getThreadLocalRequest().getSession(true);
		if (session.getAttribute("username") != null){
			String username = (String) session.getAttribute("username");
			
	        return Usuarios.getResponsable(username);  
	    }else{
	    	return null;
	    }
	}
}
